package org.emergency.framework.service;

import java.io.Serializable;
import java.util.List;

public interface IGenericServiceInterface<T> {

	/**
	 * <strong>根据对象id获得一个对象</strong>
	 * 
	 * @param id
	 *            对象主键id
	 * @return 返回一个对象类型
	 */
	T loadObjectById(Serializable id);

	/**
	 * <strong>保存一条记录</strong>
	 * 
	 * @param entity
	 *            一个对象实体
	 * @return 布尔值
	 */
	boolean save(T entity);

	/**
	 * <strong>保存一条新的记录或者跟新一条新的记录</strong>
	 * 
	 * @param entity
	 *            一个对象实体
	 * @return 返回保存/更新的对象实体
	 */
	boolean saveOrUpdate(T entity);

	/**
	 * <strong>更新一条记录</strong>
	 * 
	 * @param entity
	 *            一个对象实体
	 * @return 返回更新的对象实体
	 */
	boolean update(T entity);

	/**
	 * <strong>查询出所有的对象集合</strong>
	 * 
	 * @return 返回一个对象实体的集合
	 */
	List<T> findAll();

	/**
	 * <strong>删除一个对象实体</strong>
	 * 
	 * @param entity
	 *            对象实体
	 */
	boolean delete(T entity);
}
